import * as http from "http";
import { Entity } from "../../../../../Core/Module/Entity/Entity";
import { IAwake1 } from "../../../../../Core/Module/EventSystem/IAwakeSystem";
import { IDestroy } from "../../../../../Core/Module/EventSystem/IDestroySystem";
import { ILoad } from "../../../../../Core/Module/EventSystem/ILoadSystem";
import { Dictionary } from "../../../../../Support/Share/Lib/Dictionary";
import { IHttpHandler } from "./IHttpHandler";
import { ImplementsInterface } from "../../../../../Decorator/Decorator";

@ImplementsInterface(IAwake1)
@ImplementsInterface(IDestroy)
@ImplementsInterface(ILoad)
export class HttpComponent extends Entity implements IAwake1<string>, IDestroy, ILoad {

    public Listener: http.Server;

    public dispatcher: Dictionary<string, IHttpHandler>;

}